package com.zisu.a996.lambda.file;

import java.io.*;
import java.util.function.Function;

/**
 * @Author: 蔡翔
 * @Date: 2019/11/21 16:40
 * @Version 1.0
 */
public class FileService {
    /**
     *  通过url获取本地文件内容，调用函数式接口
     *  这里的FileCustomer 是自定义的接口
     **/
    public void fileHandle(String url,FileCustomer fileCustomer) throws IOException {
        //创建文件读取列
        BufferedReader bufferedReader = new BufferedReader(
                new InputStreamReader(
                        new FileInputStream(url)
                )
        );
        //定义行变量和内容
        String line;
        StringBuilder stringBuilder = new StringBuilder();
        while ((line = bufferedReader.readLine())!=null){
            stringBuilder.append(line+"\n");
        }
        //调用函数式接口方法，将文件内容传给lambda表达式。，实现业务逻辑。
        fileCustomer.fileHandler(stringBuilder.toString());
    }

    /**
     * 这里的Function<Integer,Integer> function 是jdk8给出的。
     **/
    public Integer test(Function<Integer,Integer> function){
        Integer apply = function.apply(1);
        return apply;
    }

}
